package com.heihei.operator;

import org.springframework.stereotype.Component;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;

import javax.annotation.Resource;
import java.util.Objects;

/**
 *  用于redis操作
 *
 * @author duanhf
 * 2021年12月24日 17:19:40
 */
@Component
public class JedisOperator {
    @Resource
    private JedisPool baseJedisPool;

    /**
     * 获取jedis连接
     *
     * @author duanhf
     * 2021年12月24日 17:25:05
     */
    public synchronized Jedis getJedis() {
        try {
            if(Objects.isNull(this.baseJedisPool)) {
                return null;
            }
            Jedis resource = this.baseJedisPool.getResource();
            return resource;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }

    /**
     * 归还jedis连接
     *
     * @author duanhf
     * 2021年12月24日 17:26:56
     */
    public void returnResource(Jedis jedis) {
        if(!Objects.isNull(jedis)) {
            jedis.close();
        }
    }

}
